home *** CD-ROM | disk | FTP | other *** search
/ 1st Multimedia Mac Shareware / Multimedia Shareware CD-ROM - BetaCorp.iso / Games / Adventure Games / Adventure Maker / AdventureMaker 1.0 / AdventureMaker 1.0.rsrc / TEXT_1000.txt < prev   
Encoding:
Text File  |  1985-11-29  |  12.7 KB  |  183 lines

  1.                                              Welcome to AdventureMaker
  2.                                                        Version 1.0
  3.                                           Copyright 1988,  Paticia B. Smith
  4.  
  5. AdventureMaker is free for your personnal pleasure and use.  However, you may not publically distribute the adventures you create with AdventureMaker unless you are a registered user.  The registration fee is $30.
  6.  
  7. AdventureMaker is copyrighted, and I reserve all rights to it. Please do not remove this notice.  Thanks.
  8.  
  9.                            Patricia Smith                                     
  10.                            Epiboly SoftWare                                 CIS:   70655,425
  11.                            325 E. 79th Street, Apt. 13d               MacNet:  SmithPB
  12.                            New York, NY  10021                          Genie:  P-Smith
  13.  
  14.  ‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢  AdventureMaker Help  ‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢
  15.  
  16. Adventure! is driven by flags.  They are numerous, obscure and hard to remember.  This help box gives brief descriptions of all of the flags for the different record sets.   It is meant to be a 'crib sheet' only; full explanations are not included.  Be forewarned.  You will never, ever figure out what to do with these flags without reading the documentation for AdventureMaker. 
  17.  
  18. In what follows, any number referred to with "##" is a combination giving both block number and room or object number.  Calculate these as follows:
  19.                 Room## = (Block#)*(10) + Room#
  20.                 Object## = (Block#)*(20) + Object#
  21.  
  22.  
  23. ‚Ä¢  ROOM RECORDS
  24.  
  25. Room Exits: 
  26.              0  <  num <= 10                       go to room# 
  27.            10  <  num <= 110                     go to room##  (new block)
  28.  
  29. Room ExitFlags: 
  30.            20  <  num <= 220                      need object ## 
  31.                      num =  -1                        just can't go
  32.                      num =  -2                        can't go with auxilary descripttion 
  33.                      num =  -3                        can't go if have items in inventory 
  34.                      num =  -4                        drop everything then go
  35.                      num =  -7                        cure Moss then go 
  36.        -220 <=  num  <  -20                     can't have the object##
  37.                0 <  num  ‚â§  20                      'go' is an action called by an object named 'num'. 
  38.                                                            (If the 'N'  exit is flagged with 12, then the parser
  39.                                                             interprets this as 'go 12'.  It looks for an object 
  40.                                                             named  '12', then searches that object's  Action List
  41.                                                             for an action named 'go'.)
  42.  
  43.  
  44. ‚Ä¢  OBJECT RECORDS
  45.  
  46. Get/Show Flags (Columns 1 and 2):
  47.                                                          Get                                        Show
  48.                   Row 1                       0   can't get                            0  don't show
  49.                                                   1   can get                              1  do show
  50.                                                  -1  take is an action
  51.                                                  -2  drop is an action
  52.                                                  -3  both take and
  53.                                                       drop are actions
  54.  
  55.                  Row 2                      0  main description                   0  main description
  56.                                                 1  aux 1 description                  1  aux 1 description
  57.                                                 2  aux 2 description                  2  aux 2 description
  58.  
  59.                  Row 3                           not used                               drop other object##
  60.  
  61.  
  62. The Action List  (Row 1, Column 3 through Column 10):
  63. The Action List holds the action numbers of the actions that can be performed on or by the object.  
  64.  
  65. If you want to allow a one-word verb command, eg 'jump', then the action# called should have the name 'nil'.  
  66.  
  67. If you want a travel instruction to set flags and/or give a text response, then the action# called must have the name 'go' and the calling object must have its own object number as one of its names.  If there are no restrictions on the action, the travel instruction will then be carried out as usual.
  68.  
  69. If you want 'take'  to set flags and/or give a text response, then the Get Flag of the ObjectRecord must be '-1' and the action# called should have the name 'take'.  For 'drop', the Get Flag must be '-2' and the action name must be 'drop'.  If the Get Flag is '-3', then the parser will consider both 'take' and 'drop' to be true actions.   If there are no restrictions on the actions,  both 'take' and 'drop' will also carry out their normal inventory functions.
  70.  
  71. An Object's Action List is permanent.  You can change action numbers with action setflags, but these changes won't 'travel' across block boundaries or through a save/restore.  When a new block is read in from disk, the Action List will revert to its original form.  An object's flags, on the other hand, will travel nicely, as will  Get and Show.  Only the Action List itself is permanent.
  72.  
  73.  
  74. Row 2 and Row 3 Flags  (Column 3 through Column 10):
  75. In general Row 2 flags govern room interactions and Row 3 flags govern object interactions.
  76.  
  77. Row 3 flags are checked  _before_  Row 2 flags.  If there is a Row 3 restriction (say, -1) then the Row 2 request will not be carried out (transport, for example).   On the otherhand, if there is a Row 2 restriction ( -1 perhaps), then a Row 3 request (clear moss, say)  _will_  be carried out, because this will happen before the Row 2 flag is examined by the parser.
  78.  
  79. Row 2 Flags:
  80.                          num  =  111               random travel
  81.               10   <  num   ‚â§  110              travel to new Room##
  82.                          num  =  6                  remove object  (it disappears)
  83.                          num  =  5                  drop object
  84.                          num  =  4                  take auxiliary object
  85.                          num  =  3                  take object
  86.                          num  =  2                  start timer /no sound
  87.                          num  =  1                  start timer /with sound
  88.                          num  =  -1                just can't do
  89.                          num  =  -7                clear moss
  90.                          num  =  -9                you're dead
  91.           -110   ‚â§   num  <  -10              must be in Room## for action to take place.
  92.            
  93. Row 3 Flags:
  94.               20   <  num   ‚â§  220              need the object## for action to take place.
  95.                          num  =  6                  remove object  (it disappears)
  96.                          num  =  5                  drop object
  97.                          num  =  4                  take auxiliary object
  98.                          num  =  3                  take object
  99.                          num  =  2                  start timer /no sound
  100.                          num  =  1                  start timer /with sound
  101.                          num  =  -1                just can't do
  102.                          num  =  -2                clear timer
  103.                          num  =  -3                can't do if not Time
  104.                          num  =  -4                can't do if Time
  105.                          num  =  -5                can't do if not Moss
  106.                          num  =  -6                can't do if Moss
  107.                          num  =  -7                clear Moss
  108.                          num  =  -8                Moss
  109.            -220   ‚â§  num  <  -20              can't do if have the object##.
  110.  
  111. Special Combinations:
  112. If the Row 2 flag is '-9' (dead) and the Row 3 flag is set, then player will die if the action  _can't_  be done, but not otherwise.
  113.  
  114. if a Row 2 'death' or 'travel'  flag is set when Moss is invoked  then the flagged result (death or travel) will take place at the last TimeCheck of the Moss sequence, and only if  the Moss has not been 'cured'  by then.
  115.  
  116.  
  117.  
  118.  
  119. ‚Ä¢  ACTION RECORDS
  120.  
  121. An action  _must_  have at least one name, otherwise the record will not be written.
  122.  
  123. Special Action Names:
  124.       'nil'                         - allows the calling object to be a stand-alone verb.
  125.       'take'/ 'drop'           - allows standard inventory instructions to behave as true
  126.                                         actions.  (This works only if flagged in an object's Get Box )
  127.      'go'                           - enables travel instructions to behave as true actions. 
  128.  
  129.  
  130. SetFlags:
  131. Each action# can be called by up to 3 different objects.  For each calling object, there is a row of setflag boxes, headed by the number of the calling object:
  132.  
  133.                              calling                          room setflags                      object setflags
  134.                               obj#       aux              Rm     col     set#            Obj      row     col     set#
  135.                                 Àô           Àô                 Àô       Àô       Àô                 Àô        Àô         Àô        Àô
  136.  
  137. Aux Num: 
  138.            20 <  aux                  Aux  gives the object## for use in a prepositional  phrase,   
  139.                                       
  140.            0 <  aux <= 15           If a MossFlag is set  in the calling object
  141.                                            then aux = action# of the Moss action record.
  142.  
  143.  
  144. Room SetFlags: 
  145. If the col# is negative, then Exits are set.  If the col# is positive then ExitFlags are set:
  146.                 col  <  0             sets Exits in Rm to set#
  147.                 col  >  0             sets ExitFlags in Rm to set#      
  148. Exits and ExitFlags are set only if the calling object is in its block of origin or if the calling object has a "must be in specific room" flag set on the action.
  149.  
  150. Object SetFlags: 
  151. Changes the value of the entry in the 'row'  and  'col'  of the  'obj'  to the 'set# .  For example, if the object setflags are  [19,  2,  2,  1]  then this will set row 2, column 2 of object 19 to '1'. 
  152.  
  153. Again, flags are set only if the calling object is in its block of origin or if the calling object has a "must be in specific room" flag set on the action.
  154.  
  155. Text Boxes: 
  156.                 A1  =  text used if action is doable. 
  157.                 A2  =  text used if action can't be done.
  158.  
  159. Special Action Records: 
  160. Time Records:
  161.      If a TimeFlag  is set in the calling object, then Room and Object SetFlags will be set _only_ for the duration of the timer.  Values then revert to the original settings when the timer expires.  (An exception is if Exits are changed, the change is permanent.)  
  162.      TextBox A1 gives the text for timer activation.  
  163.      TextBox A2 gives the text for end of timer.
  164. The timer lasts for the number of moves given in the Game Info header dialog.  The timer always expires if the player crosses a block boundary or saves a game.
  165.  
  166. Moss Records:  
  167.      "Moss" is a long term timer function.  It can invoke multiple interruptions, can survive a Save/Restore and can cross block boundaries.  It differs from the simple "Time" function in that it cannot restore flags to their original setting before Moss started.
  168.      Careful here!  Moss records are very different from standard ActionRecords.  They are never called directly by an object, but rather by an action.   If an object calling an action has a MossFlag set, then the parser executes the action, but while it's doing that, it looks at the called action to see if its first  Aux num is between 0 and 15.  If this is the case, then the parser considers the action record with that number to be a MossRecord.  It reads the data of a MossRecord as follows:
  169.        Names:  These are ignored.  But remember, you can't leave them completely blank.  You must fill in at least one name.  A good name in this case is 'moss'.  Then you know at a glance it's a MossRecord.
  170.        Obj#'s:  These are ignored.  For your own reference you may want to include here the numbers of the calling objects or actions. 
  171.        Aux's:  Only the first is used.  This must give the number of Moss interruptions (which must equal the number of TimeChecks).
  172.        Room and Object SetFlags:  In the first row only, starting with the 'Rm'  box, fill in up to 6 TimeChecks. These are integers that indicate after how manymoves a Moss interruption will occur. 
  173.        TextBoxes:  Working _vertically_ (i.e. A1,A1,A1,then A2,A2,A2)  fill in the MossText messages that will be displayed for each Moss interruption.
  174.  
  175.  
  176.  
  177.  
  178. ‚Ä¢  ACKNOWLEDGEMENTS
  179.  
  180. AdventureMaker is written in LightSpeed Pascal, thus portions Think Technologies.  This scrolling help box uses the "About..." procedure created by John Wind, copyright 1988.
  181.  
  182.  
  183.